package beans;

import java.util.List;

import servicios.ServicioProducto;
import clases.Producto;
import clases.TipoProducto;

public class ProductoBean {

	private TipoProducto tipoProducto = new TipoProducto();
	private List<TipoProducto> tipoProductos;
	
	private List<Producto> productos;
	private Producto producto = new Producto();
	private Long productoId;
	
	
	public TipoProducto getTipoProducto() {
		return tipoProducto;
	}

	public void setTipoProducto(TipoProducto tipoProducto) {
		this.tipoProducto = tipoProducto;
	}

	public List<TipoProducto> getTipoProductos() {
		return tipoProductos;
	}

	public void setTipoProductos(List<TipoProducto> tipoProductos) {
		this.tipoProductos = tipoProductos;
	}

	public List<Producto> getProductos() {
		return productos;
	}

	public void setProductos(List<Producto> productos) {
		this.productos = productos;
	}

	public Producto getProducto() {
		return producto;
	}

	public void setProducto(Producto producto) {
		this.producto = producto;
	}

	public Long getProductoId() {
		return productoId;
	}

	public void setProductoId(Long productoId) {
		this.productoId = productoId;
	}

	
	/*Tipo Productos*/
	public String agregarTipoProducto() {
		ServicioProducto servicio = new ServicioProducto();
		servicio.agregarTipoProducto(this.getTipoProducto());
		tipoProducto = new TipoProducto();
		return "tipoPIndex";
	}
	
	public List<TipoProducto> getListaTipoProducto() {
		ServicioProducto servicio = new ServicioProducto();
		tipoProductos = servicio.getListaTipoProducto();
		return tipoProductos;
	}

	public String tipoProductoVer() {
		ServicioProducto servicio = new ServicioProducto();
		tipoProducto = servicio.tipoProductoVer(productoId);
		return "tipoPVer";
	}

	public String tipoProductoModificar() {
		ServicioProducto servicio = new ServicioProducto();
		tipoProducto = servicio.tipoProductoVer(productoId);
		return "tipoPModif";
	}
	
	public String guardarCambiosTipoProducto() {
		ServicioProducto servicio = new ServicioProducto();
		servicio.guardarCambios(tipoProducto);
		return "tipoPIndex";
	}
	
	public String eliminar() {
		ServicioProducto servicio = new ServicioProducto();
		servicio.eliminar(productoId);
		return null;
	}
	
	
	/*Productos*/
	
	public List<Producto> getListaProducto() {
		ServicioProducto servicio = new ServicioProducto();
		productos = servicio.getListaProducto();
		return productos;
	}	
		
	public String agregarProducto() {
		ServicioProducto servicio = new ServicioProducto();
		tipoProducto = servicio.tipoProductoVer(productoId);
		this.producto.setTipoProducto(tipoProducto);
		servicio.agregarProducto(this.getProducto());
		producto = new Producto();
		return "productoIndex";
	}
	
	public String productoVer() {
		ServicioProducto servicio = new ServicioProducto();
		producto = servicio.productoVer(productoId);
		return "productoVer";
	}
	public String eliminarProducto() {
		ServicioProducto servicio = new ServicioProducto();
		servicio.eliminarProducto(productoId);
		return null;
	}
	public String productoModificar() { 
		ServicioProducto servicio = new ServicioProducto();
		producto = servicio.productoVer(productoId);
		productoId = producto.getTipoProducto().getId();
		return "productoModif";
	}
	
	public String guardarCambiosProducto() {
		ServicioProducto servicio = new ServicioProducto();
		tipoProducto = servicio.tipoProductoVer(productoId);
		this.producto.setTipoProducto(tipoProducto);
		servicio.guardarCambiosProducto(producto);
		return "productoIndex";
	}
	 
	
}